Methods for bearer selection performed by a sending mobile device

ABSTRACT

A method performed by a sending mobile phone that transmits SMS messages and packet switched messages may comprise: (a) retrieving a destination address of a message from the message; (b) sending information representing a phone number of a receiving mobile phone; (c) receiving a response to the sending of the information; and (d) based at least in part on the response, automatically selecting a bearer for the message. The bearer may be selected from a group including: an SMS bearer; a packet-switched message bearer supported by a cellular connection between the sending mobile phone and a cellular base station; and a packet-switched message bearer supported by a wireless local area network (WLAN) connection between the sending mobile phone and a WLAN base station.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 18/100,273, filed on Jan. 23, 2023, which is a continuation of U.S. patent application Ser. No. 17/959,697, filed on Oct. 4, 2022, which is a continuation of U.S. patent application Ser. No. 17/872,378, filed on Jul. 25, 2022, which issued as U.S. Pat. No. 11,533,587 on Dec. 20, 2022, which is a continuation of U.S. patent application Ser. No. 17/740,919, filed May 10, 2022, which issued as U.S. Pat. No. 11,445,338 on Sep. 13, 2022, which is a continuation of U.S. patent application Ser. No. 17/717,720 filed Apr. 11, 2022, which issued as U.S. Pat. No. 11,425,541 on Aug. 23, 2022, which is a continuation of U.S. patent application Ser. No. 17/348,348 filed Jun. 15, 2021, which issued as U.S. Pat. No. 11,432,115 on Aug. 30, 2022, which is a continuation of U.S. patent application Ser. No. 17/228,210 filed Apr. 12, 2021, which issued as U.S. Pat. No. 11,218,847 on Jan. 4, 2022, which is a continuation of U.S. patent application Ser. No. 17/131,103 filed Dec. 22, 2020, which issued as U.S. Pat. No. 11,044,584 on Jun. 22, 2021, which is a continuation of U.S. patent application Ser. No. 16/897,161 filed Jun. 9, 2020, which issued as U.S. Pat. No. 10,893,395 on Jan. 12, 2021, which is a continuation of U.S. patent application Ser. No. 16/714,113, filed on Dec. 13, 2019, which issued as U.S. Pat. No. 11,089,450 on Aug. 10, 2021, which is a continuation of U.S. patent application Ser. No. 15/966,965, filed Apr. 30, 2018, which is a continuation of U.S. patent application Ser. No. 15/011,000, filed Jan. 29, 2016, which is a continuation of U.S. patent application Ser. No. 14/307,166, filed on Jun. 17, 2014, which is a continuation of U.S. patent application Ser. No. 13/762,347, filed on Feb. 7, 2013, which issued as U.S. Pat. No. 8,918,127 on Dec. 23, 2014, which is a continuation of U.S. patent application Ser. No. 12/452,883, filed on Jul. 7, 2010, which issued as U.S. Pat. No. 8,401,576 on Mar. 19, 2013, which claims priority to PCT Patent Application No. PCT/AU2008/001043, filed Jul. 18, 2008, that claims priority to Australian Patent Application No. 2007903979, filed Jul. 24, 2007, and Australian Patent Application No. 2007906230, filed Nov. 13, 2007, all of which are incorporated herein by reference.

TECHNICAL FIELD

This invention concerns a messaging service in a wireless communications network.

BACKGROUND ART

Short Messaging Service (SMS) is a technology for sending and receiving short text messages between mobile users. It was first introduced in the Global System for Mobile Communications (GSM) standards in the 1990s but was subsequently included in other wireless standards such as Code Division Multiple Access Systems (CDMA). Although SMS is extremely popular, one of its biggest drawbacks is that an SMS message can only carry a small amount of data due to limitations imposed by the Mobile Application Part (MAP) protocol of SS7. An SMS message can only contain up to 160 8-bit alphanumeric or binary characters and any message longer than 160 characters is usually sent in multiple messages.

A Short Messaging Service Centre (SMSC) is responsible for handling the delivery of SMS messages in a wireless communications network. An SMS message sent by a mobile user is first delivered to the user's network SMSC before being routed to the recipient. If the recipient's network is operated by a different provider or employs a different wireless standards, the message may pass more through more than one SMSC or SMSC gateway before reaching its final destination. Signalling System 7 (SS7) provides the transport mechanism for SMS traffic.

There are several messaging services that provide an extension to SMS. Enhanced Messaging Service (EMS), which uses existing SMS infrastructure, allows up to 255 SMS messages to be packaged as one EMS message having richer content such as animation, pictures, sounds and formatted text. Unlike SMS and EMS, Multimedia Messaging Service (MMS) messages are delivered using a mobile packet data network. MMS was first introduced in 2.5 generation networks such as GPRS, which provides an Internet Protocol (IP) overlay to the existing GSM networks. A multimedia message may contain images, audio clips and videos.

On the other hand, Mobile Instant Messaging (MIM) technology enables mobile devices to engage in real-time, instant messaging via an IP data network. Users need to register a user name tag or “handle” with an instant messaging service provider to send and receive messages. Many current MIM services also require users to maintain a persistent connection with the Internet during a chat session.

SUMMARY

A method performed by a sending mobile phone that transmits short message service (SMS) messages and packet switched messages may comprise (a) retrieving a destination address of a message from the message; (b) sending information representing a phone number of a receiving mobile phone; (c) receiving a response to the sending of the information; and (d) based at least in part on the response, automatically selecting a bearer for the message. The bearer may be selected from a group including: an SMS bearer; a packet-switched message bearer supported by a cellular connection between the sending mobile phone and a cellular base station; and a packet-switched message bearer supported by a wireless local area network (WLAN) connection between the sending mobile phone and a WLAN base station. The method may further comprise, after step (d), formatting the message for transmission via the selected bearer; and (f) after step (e), transmitting, using the selected bearer, the message to the receiving mobile phone. Steps (a)-(f) may be performed for at least first, second and third iterations, wherein: during the first iteration, a first message is sent to a first receiving mobile phone using the SMS bearer; during the second iteration, a second message is sent to a second receiving mobile phone using the packet-switched message bearer supported by the cellular connection; and during the third iteration, a third message is sent to a third receiving mobile phone using the packet-switched message bearer supported by the WLAN connection. A packet switched message service (PSMS) may be used to send the third message to the third receiving mobile phone. The PSMS may be a service for sending and receiving packet switched messages other than SMS, enhanced message service (EMS) and multimedia message service (MMS) messages. A same messaging client on the sending mobile phone may perform at least steps (a), (b), (c), (d) and (e) for each of the first, second and third iterations.

DISCLOSURE OF THE INVENTION

In a first aspect, the invention is a method for providing a messaging service on a wireless device in a wireless communications network; the method comprising the steps of:

-   -   Retrieving the destination address of an outgoing message on the         device.     -   Verifying whether the destination address is capable of         receiving the message via a packet-switched bearer.

If verification is affirmative, then automatically sending the message to the destination address via a packet-switched bearer, but otherwise, automatically sending the message to the destination address via an SMS bearer.

Unlike conventional SMS, EMS and MIM clients, the invention combines existing messaging solutions to offer a single interface for sending and receiving both text and multimedia messages. The automatic bearer selection enables the user to have the widest range of messaging options, including text, voice, video, picture, based on knowledge of the status and capability of the recipient's device.

The SMS bearer may be a conventional GSM SS7 signalling channel. The packet-switched bearer may be a HSDPA, WCDMA, CDMA2000, GPRS or similar data bearer. The packet-switched bearer may also supported by other wireless technologies such as Bluetooth, WiFi, WiMax. Further, the packet-switched bearer may be operated by a sender's mobile operator or an independent mobile Internet service provider. Compared with an SMS bearer, a packet-switched data bearer is able to send a message with unlimited size at a higher speed.

The destination address may be a mobile phone number or a numeric “shortcode” or alias representing one or more, or a combination of, phone numbers, email addresses, instant messaging user handles and IP addresses. Therefore, for all users of the messaging service, and unlike conventional MIM clients, the invention utilises a user's mobile phone number as the identifier of the user, and does not require the user to register a user name, tag or handle, thus providing a single number for message sending.

A message client running on the device may programmatically and dynamically construct an outgoing message in the correct syntax given the user's preferences and given the dynamic requirements of the message server for a particular service.

The message client may interpret incoming SMS or incoming messages from the message server that are identified in their contents as being requirements for the dynamic construction of a message, when the user views the message.

Alternatively, the message client may interpret incoming SMS or incoming messages from the message server that are identified in their contents as being requirements for the dynamic construction of a message, and store the requirements for the dynamic construction of a message, such that they may be invoked by selecting a dynamic menu option.

The requirements may be set out in a structured format using XML such that the message client shall, when a user opens a message containing requirements for the dynamic construction of a message, or when a user selects a dynamic menu:

-   -   Present the user with options to choose from; and     -   For each option, know the intended destination and bearer of the         message; and     -   Prompt the user for input or to select a file to be sent with         the constructed message; and     -   Construct a message of the correct syntax based on the user's         choices and input.

The method may further comprise the step of connecting to a message server before verifying the destination address. If connection to the message server is not available, the invention may support several configuration methods in order to configure the mobile device so as to be able to establish a connection to the message server.

Firstly, the method may comprise the step of retrieving connection parameters and displaying the retrieved parameters on the mobile device if connection to a message server is not available. A mobile user may then use the retrieved parameters to manually configure the handset before retrying to connect to the message server.

Besides manual configuration, the invention may support manual and automatic over-the-air (OTA) programming. The method may further comprise the step of displaying a link for a sender to request an OTA configuration message if connection to the message server is not available. For example, a user may then access a website to request a configuration message to be sent to the user's mobile device.

The method may further comprise the step of retrieving connection parameters, automatically creating an OTA configuration message based on the retrieved parameters and sending the generated configuration message from the mobile device to the same mobile device. Using such automatic OTA configuration, users do not have to manually change the settings on their mobile device to establish a connection with the message server. The OTA configuration message may be a binary SMS.

The step of verifying the destination address may involve sending an address verification request to a message server and then receiving a notification from the message server specifying whether the destination address is capable of receiving the message via a packet-switched bearer.

The destination address may be capable of receiving the message via a packet-switched bearer if the address is on a subscriber address list. The subscriber address list may be a list of destination addresses that subscribes to the messaging service. The subscriber address list may be maintained by the message server.

The destination address may be capable of receiving the message using a packet-switched bearer if the address is on the subscriber address list and has an active status. For example, the recipient is inactive if the length of the message queue of the destination address exceeds a maximum allowable length.

The method may further comprise the step of automatically providing options to add one or more attachments to the outgoing message before sending the message if a packet-switched bearer is selected. The attachment may be a text, voice, video or picture file. On the other hand, an outgoing message that is sent using an SMS bearer can only be either an SMS or EMS message and not have attachments.

Using the invention, a sender may optimally add attachments to an outgoing message depending on the capability of a recipient's mobile device. For example, a user may attach a voice or video message a text message if the recipient is able to receive and play the attachment. Further, the invention uses a push model to deliver a voicemail to a mobile user without the need of retrieval.

The method may further comprise the step of formatting the outgoing message according to the mode of delivery before sending the message. If the message is sent via a packet-switched data bearer, the message may be formatted as an XML ASCII string.

The method may further comprise the step of appending a system message to the outgoing message if an SMS bearer is selected.

The system message may comprise an invitation to add the destination address to a subscriber address list if the destination address is not on the list. Otherwise, if the destination address is on the subscriber address list but has an inactive status, the system message may comprise an invitation to retrieve messages in the message queue of the destination address.

By sending an invitation to non-subscribers to add their destination address to the subscriber address list, new users may subscribe to the messaging service without having to actively source how to obtain the service. This viral, peer-to-peer invitation method also does not require central monitoring nor generate additional traffic since an invitation is appended to an outgoing message.

The method may further comprise the step of notifying the recipient, if the recipient is on the subscriber list, when either a message has been received (if the recipient is connected to the message server), or when a message is queued but not yet delivered (if the recipient is not connected to the message server). The notification method may be a single ring to the recipient's mobile device. A notification message may also be sent to the sender of the message.

The method may further comprise queuing an outgoing message for later delivery if the message is undelivered. For example, a message cannot be delivered if the destination address is on the subscriber address list, but the recipient is not, at the time of sending, connected to the message server by a packet-switched bearer.

In another aspect, the invention is a mobile device programmed to perform the method. In a further aspect, the invention is a software program to implement the method.

BRIEF DESCRIPTION OF THE DRAWINGS

An example of the invention will now be described with reference to the accompanying drawings, in which:

FIG. 1 is a diagram of a messaging system.

FIG. 2A is the user interface on a sender's mobile device.

FIG. 2B is the user interface on a recipient's mobile device.

FIG. 3 is a flowchart of the routine performed by a message client.

FIG. 4 is a flowchart of the routine performed by a message client to establish a connection with a message server.

FIG. 5 is a flowchart of the address verification routine performed by a message server.

FIG. 6A is a diagram of the architecture of a message client.

FIG. 6B is an exemplary message format.

FIG. 6C is a diagram of a TCP/IP protocol model used by a message client.

FIG. 7 is the user interface on a sender's mobile device during a chat session.

BEST MODES OF THE INVENTION

Referring first to FIG. 1 , the messaging system 100 comprises a message server 170 in communication with network users 110, 120 and 125 via the Internet 160 and base stations 130, 150, 180 and 190. Base stations 130 and 150 are typical based stations in a GSM, CDMA, 3G, 3.5G or similar network that supports a HSDPA, WCDMA, CDMA2000, GPRS or similar data bearer and are connected to an SMSC via Core Network 140.

Network users 110, 120 and 125 may be part of a wireless personal area network (WPAN), a wireless local area network (WLAN) or a wireless wide area network (WWAN). Base stations 180 and 190 are wireless Internet base stations operated by an independent wireless service provider. For example, the users may access the wireless Internet using technologies such as Bluetooth, ZigBee or mesh networking in a WPAN; WiFi in a WLAN or WiMax in a WWAN.

In this example it is assumed that a first user 110 (“the sender”) is sending a message to a second user 120 (“the recipient”). The message contains the phrase “Hi there!” as well as a photo and a voicemail as attachments. Referring now to FIG. 2A, a message client 114 runs on the mobile device 112 and is responsible for choosing the mode of delivery of an outgoing message.

To use the invention, the message client 114 needs to be activated by the sender 110. However, the message client 114 may be also activated automatically when the handset is switched on if such feature is supported by the handset's operating system. Having activated the message client 114, the sender 110 then selects or enters a destination number. The message client 114 then decides on how the message can be sent.

The recipient 120 may be on a network operated by the same or a different service provider. The sender and the recipient are each associated with an address. The destination address is either a mobile phone number or a numeric “shortcode” or “channel”, which is an alias representing one or more phone number, email address or instant message handle. For example, certain number ranges may be controlled by the messaging server (e.g. 1 800 xxxxxx), some under users' control as destinations as aliases for a group of numbers and addresses (e.g. 1 801 xxxxxx), and some for accessing content services (e.g. 1 900 xxxxxx). Shortcodes are unique and private to a user, hence the same numeric shortcode may be used by multiple users.

Shortcodes are created by users and maintained by message server 170. For example, a user creates a shortcode by sending a message with the following content to the message server 170:

-   -   Add channel20 andrew@messmo.com,     -   robert@yahoo.com, 0423789080, 98765432@jabber.org.

The shortcode 20 is an alias for a group comprising two email addresses, one mobile number and an instant message handle. For example, to send a message to the shortcode created, the destination address will be set to 1801 20.

The syntax of messages in the example above is strict, however the user is not limited in their use of services by limits in their own knowledge of the message syntax.

The message client 114 is able to programmatically and dynamically construct an outgoing message in the correct syntax given the user's preferences and given the dynamic requirements of the message server 170 for a particular service.

The message client 114 interprets incoming SMS or incoming messages from the message server 170 that are identified in their contents as being requirements for the dynamic construction of a message. The interpretation can occur either when the user views the message (for example a message titled “Click to create a Channel”), and/or the message client may interpret the incoming SMS, or incoming messages from the message server 170, and store the requirements for the dynamic construction of a message, such that they may be invoked by selecting a dynamic menu option.

The requirements are set out in a structured format using XML such that the message client 114 shall, either when a user opens a message containing requirements for the dynamic construction of a message, or selects a dynamic menu:

-   -   Present the user with options to choose from; and     -   For each option, know the intended destination and bearer of the         message; and     -   Prompt the user for input or to select a file to be sent with         the constructed message; and     -   Construct a message of the correct syntax based on the user's         choices and input. If the message contained requirements for the         dynamic construction of a message, where those requirements are         by way of example set out as:

 <MessageConstructorRequirements>    <MCTitle>Shortcode</ MCTitle >   <Option>    <OptionTitle>Subscribe</ OptionTitle>    <Bearer>SMS</Bearer>    <Destination>1800</Destination>    <OutputToken DataType=‘String’ InputMethod=‘Constant’    Count=‘1’>Add Channel</OutputToken>    <OutputToken DataType=‘Number’ InputMethod=‘Input’ Count=‘1’>Channel</OutputToken>    <OutputToken DataType=‘String’ InputMethod=‘Input’    Count=‘4’>Destination</0utputToken>   </Option>  <I  MessageConstructorRequirem  ents >

The message client 114 would present the user with a message titled ‘Shortcode’, where the message client would:

-   -   Present the user with the option ‘Subscribe’; and if this option         is selected     -   Prompt the user for one shortcode eg. User inputs 20; and     -   Prompt the user for four destinations eg. User inputs         andrew@messmo.com, robert@yahoo.com, 0423789080,         98765432@jabber.org; and     -   Construct a message eg. ‘Add Channel20 andrew@messmo.com,         robert@yahoo.com, 0423789080, 98765432@jabber.org’ to be sent to         1900 via SMS bearer.

Thus enabling the benefit to the user of the use of a service where they otherwise may have been unfamiliar with, or unwilling to input, the strict syntax of the message required for the service.

When a message is sent to a shortcode, the message can be sent either as a conventional SMS or EMS message using a conventional SMS bearer or a packet-switched data bearer. If a SMS bearer is used, the message will be sent via a GSM or GPRS signalling channel to Core Network 140, SMSC 145, base station 150 before finally reaching recipient 120. If an SMS bearer is used the attachments such as the photo and voicemail will not be sent.

If a packet-switched data bearer is used, the message client has a choice of sending the message using a packet-switched bearer supported by the mobile operator's or a third party's network. For example, in a GSM system with General Packet Radio Service (GPRS) overlay, an SMS bearer may be an SS7 signalling channel while a packet-switched data bearer may be a shared transmission channel that combines multiple timeslots in a GSM TDMA frame. The packet-switched data bearer may also be a Bluetooth, WiFi, WiMax or any other WPAN, WLAN, or WWAN wireless data transfer protocol.

Referring now to FIG. 3 , the client 114 first checks whether the sender 110 is connected to the Internet 160 and message server 170; see step 205. As shown in FIG. 1 , the sender 110 may be connected to the message server 170 via a mobile operator's data network (base stations 130) or a network provided by an independent mobile Internet service provider (base station 180).

The step of connecting to the message server 170 (step 205) will now be explained with reference to FIG. 4 . The client 117 first checks whether connection to the message server 170 is available. If the connection is not available, the client 117 displays options for the sender 110 to configure the handset such that connection to the message server 170 can be established; see step 265.

The client 117 supports three configuration methods. Firstly, manual configuration may be used; see steps 270, 272 and 274. In this case, the client 117 first retrieves information specific to the handset and the mobile Internet service provider. As mentioned, the mobile Internet service provider may be a mobile operator or an independent provider. The client 117 then displays the retrieved information such that the sender 110 can configure the handset manually; step 274.

Alternatively, if the sender's mobile device is capable of receiving and processing OTA messages, the client 117 may provide a link to a website that solicits OTA configuration requests; steps 280 and 282. The website may be operated by the message server 170 or a third party and accessed via a PC, WAP connection from the sender's mobile device or other means. Upon receiving the OTA configuration message, the sender's mobile device will ask the sender to accept the changes to its mobile Internet access settings according to the configuration message; step 298. If the changes are accepted, the client 117 then retries to connect to the message server 170; step 295.

Besides manual configuration and manual OTA configuration requests, the client 117 is capable of performing self-configuration; see steps 290, 292 and 294. Assuming that the client 117 is aware of the specific parameters necessary to configure the sender's mobile device to access the mobile Internet, the client 117 first creates an OTA configuration message based on the parameters. The client 117 then sends the OTA message to the sender's handset (same device). For example, the message may be sent as an OTA binary SMS. Upon receiving the OTA configuration message, the sender's mobile device asks the sender to accept the changes to its mobile Internet access settings according to the configuration message; step 298. Similarly, the client 117 then retries to connect to the message server 170 when under the new settings; step 295.

The above configuration steps may be repeated until either the message server 170 is connected or the user has abandoned the configuration in step 265. In this case, that is the connection to the message server 170 is not available, the client 117 will select an SMS bearer as the mode of delivering the outgoing message and proceeds to format the message in step 240. Note that besides configuring the mobile Internet access settings of a mobile device, the client 117 may generate OTA messages to configure other settings such as email, WAP, MMS and video streaming.

If the sender has access to the message server 170, the client 114 then retrieves from the message without reference to the message server the destination address of the outgoing message 220; see step 210. The client then sends a verification request to the message server 170 via base station 130 or 180 and the Internet 160; step 215.

Upon receiving an address verification request, the message server 170 performs the method shown in FIG. 5 . The message server 170 first checks whether the destination address is on a list of subscribing addresses; step 320. If the destination address is not known to the message server 170, the mode of delivery will be set to an SMS bearer; step 350.

If the destination is on the list of subscribing addresses, the message server 170 proceeds to check the status of the recipient, that is whether the destination message queue length has exceeded a predetermined maximum length; 330. If the recipient has a long inactive queue, the message server 170 will notify the message client 114 to send the message using an SMS bearer; see step 350. Otherwise, the mode of delivery is set to a packet-switched bearer; see step 360 in FIG. 5 .

Referring to FIG. 3 again, the message client 114 at the sender 110 provides options for format and attachment of the outgoing message based on the mode of delivery; steps 224, 226, 230 and 240. The mode of delivery, using information about the recipient's handset stored in the message server, provides an indication of the capabilities of the recipient's handset and the type of message that can be received by the recipient's 120. If the recipient 120 is an active user, the full range of the recipient's capabilities is assumed. However, if the recipient 120 is an inactive or past subscriber, the message server's 170 knowledge of the recipient's capabilities may be outdated if the recipient has changed its handset. The recipient 120 may then be invited to update its information.

The message client 114 then intelligently advises the sender 110 whether the recipient 120 is able to read attachments or non-text messages. For example, if the mode of delivery is a packet-switched bearer, the sender 110 is offered with the “ATTACH” option to add voice, picture or video attachments to the message; see FIG. 2A and steps 224 and 226 in FIG. 3 .

If the mode of delivery is an SMS bearer, the “ATTACH” option will be disabled. Further, depending on configurable settings on the sender's mobile device, the client 117 also appends a system message to the outgoing message in step 245. If the destination address is not on the list of subscribing addresses, an invitation to download the client will be added to the outgoing SMS or EMS. For example, the invitation may read:

-   -   “Go to www.clientdownload.com to download <name of message         client>”.

The message client 114 can then be downloaded to the recipient's mobile device 120. Then upon starting the message client, the message client will generate a unique authentication identifier, either randomly or derived from the mobile devices hardware identification or generated by the message server. The message client will then initiate a connection to the message server and communicate the authentication identifier. The message client will in parallel send a SMS containing the authentication identifier to a SMS gateway service. The SMS gateway service then sends the message, including the originating phone number and the body of the message containing the authentication identifier, to the message server via HTPP, SMTP, SMPP or a similar protocol.

Upon receipt of the details of a SMS, the message server will determine the originating phone number of the mobile device from the details of the SMS, and hence add the new address (originating phone number) to the list of subscribing addresses. By matching the authentication identifier, either the message server will send the message client confirmation that the mobile device and user has been authenticated, or the message client will initiate the action and request the same confirmation from the message server. This authentication method allows new users to be authenticated and to subscribe to the messaging service via one SMS without requiring any registration or data entry.

If the destination address is on the list of subscribing addresses but the recipient 120 is inactive, a message to remind the recipient 120 to connect to the message server 170 will be appended to the outgoing SMS or EMS. For example, the system message may read:

-   -   “You have 50 unread messages on <name of message client>.”         Returning to the sending mobile device 110, if the mode of         delivery is a packet-switched bearer, the message client manages         the delivery of the message similar to a MIM client such as         Jabber. An exemplary architecture of the message client is shown         in FIG. 6A, where the message client may be a Java 2, Mobile         Edition (J2ME) program installed on a mobile device. The         formatted message is sent as an XML ASCII string via a TCP/IP         socket to the message server or a HTTP post, an example of which         is shown in FIG. 6B. The message contains a text phrase “Hi         there!” in the body and two attachments. A photo attachment is         defined between <photo> and </photo> and a voicemail is defined         between <voicemail> and </voicemail>.

FIG. 6C illustrates the five-layer TCP/IP protocol model used by the message client. GPRS, 3G, 3.5G or other wireless protocols such as Bluetooth, WiFi and Wimax are used in the data link layer to deliver the message from the mobile device to the wireless communications network, IP is used in the network layer to deliver the packet from the sender to the recipient, UDP and TCP form the transport layer and HTTP, WAP and XML are used in the application and presentation layers.

FIG. 2B shows the user interface of the recipient 120 when a message is received. The recipient 120 may receive a notification when the message has been successfully received as the recipient while being connected to the messaging server, may be using another function of the mobile device. The notification may be a single ring of the recipient's mobile device.

If the destination address is a shortcode, steps 320 and 330 in FIG. 5 are repeated for each phone number, email address and user name tag represented by the shortcode. If not all addresses in the shortcode are capable of receiving the message via a packet-switched data bearer, the reply by message server 170 may be an array of binary answers. For example, if a shortcode represents three addresses and only the first has installed the message client, the mode of delivery is set to

-   -   m 1m2m3=100, where 1 represents a packet-switched bearer and 0         represents an SMS bearer.

A delivery confirmation message may also be sent to the sender 110 by the message 170 if the message is sent using a packet-switched bearer. The message client 114 maintains a copy of recent messages sent by a user, for example, for a limited time. If a message is unsuccessfully delivered, it will be queued for later delivery. For example, a message cannot be delivered if the recipient 120 is not connected to the message server 170 when the message is sent. In this case the recipient 120 may receive a notification that a message is queued for later delivery. The notification may be a single ring of the recipient's mobile device, generated by the message server 170, but using a different originating number from that used for the notification when the message has been delivered, so as to enable the user to optionally utilize mobile device features such as distinct ringtones mapped to sending numbers.

A sender 110 and a recipient 120 may send and receive multiple messages during a chat session. The user interface may be similar to that of a desktop instant messaging program. For example, an exemplary user interface of sender 110 is shown in FIG. 7 . A left arrow indicates a message sent by the sender while a right arrow represents a received message. Depending on configurable user preferences, the recipient 120 with phone number 1234 may choose to have his or her presence known to the sender 110; see 116 in FIG. 7 . Using the presence information, the sender 110 may then stop sending new messages to the recipient 120 if the latter has gone offline.

Besides performing address verification, the message server 170 also maintains user authentication. Authentication is simple and does not require a user to create a user name tag like existing MIM servers. Instead, the user's mobile phone number is the default identifier. Authentication adds the mobile phone number to the subscriber address list.

Referring to FIG. 1 again, the message server 170 receives each message that is sent using a packet switched bearer. Each message is in an XML format, and the message server parses the message to determine the destination address.

The message server 170 is also in communication with third-party content providers 175 over the Internet 180. When the message server identifies a destination address corresponding to a third party content provider, it automatically sends the message to the third party. The third party may, for example depending on the presence of keywords, send additional information related to the keywords to the sender 110. However, a user may disable this feature.

For example, if the message contains the name of a certain brand, BUYME, information concerning where to buy the product or its latest promotion will be retrieved from the third party content provider in communication with the message server. In this case, depending on the capability of the recipient's mobile device, the information may be sent as a conventional SMS or as a text message via a packet-switched bearer, with optionally one or more attachments.

User privacy may be protected by not revealing a user's phone number to a third party without the consent of the user. For example, a user may send a query to a third party content provider 175 to ask about the weather forecast in a particular location via the message server 170. To hide a user's identity, the message server may dynamically create a random number that maps to the user's actual mobile number and passes the query to the third party content provider 175. Further, this mapping may be dynamic, not static, to ensure that the third party is not able to determine information about the general behavior of the users.

Similar to user-to-user messages, the type of advertising and marketing message that is sent to a user also depends on the capabilities of the user's handset. Therefore since the message server is aware of the capabilities of user's handsets, as user handsets are upgraded, the message server 170 is able to target those users with enhanced, multimedia message content.

It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. For instance, the current application outlines how a user, when using a message client, will be prompted to use an SMS, if the recipient is not a user of the message service. The existing context of this is that the user is initiating the message. The functionality can be extended to the situation where a message is sent using the message client with the goal of prompting the user to send a response SMS. This can be useful in generating SMS traffic from third parties by sending one message that prompted the recipients to select one or more voting buttons each of which causes an SMS to be sent to a specific premium number.

Conversely the same concept works well for a community of users of a message client who do not wish to use premium numbers. The entire community can be polled. Each receives an indication to select a voting button, and the selections each cause a message with predetermined text to be sent to a predetermined recipient. This minimizes the event of false responses that cannot be counted.

The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive. 

1. A method performed by a sending mobile phone that transmits short message service (SMS) messages and packet switched messages, the method comprising: (a) retrieving a destination address of a message from the message, wherein the destination address is a phone number of a receiving mobile phone; (b) sending information representing at least the phone number of the receiving mobile phone; (c) receiving a response to the sending of the information; (d) based at least in part on the response, automatically selecting a bearer for the message, wherein the bearer is selected from a group including: an SMS bearer; a packet-switched message bearer supported by a cellular connection between the sending mobile phone and a cellular base station; and a packet-switched message bearer supported by a wireless local area network (WLAN) connection between the sending mobile phone and a WLAN base station; (e) after step (d), formatting the message for transmission via the selected bearer; (f) after step (e), transmitting, using the selected bearer, the message to the receiving mobile phone; and (g) performing steps (a)-(f) for at least first, second and third iterations, wherein: during the first iteration, a first message is sent to a first receiving mobile phone using the SMS bearer; during the second iteration, a second message is sent to a second receiving mobile phone using the packet-switched message bearer supported by the cellular connection; and during the third iteration, a third message is sent to a third receiving mobile phone using the packet-switched message bearer supported by the WLAN connection; wherein a packet switched message service (PSMS) is used to send the third message to the third receiving mobile phone; wherein the PSMS is a service for sending and receiving packet switched messages other than SMS, enhanced message service (EMS) and multimedia message service (MMS) messages; wherein a same messaging client on the sending mobile phone performs at least steps (a), (b), (c), (d) and (e) for each of the first, second and third iterations.
 2. The method of claim 1, wherein at the time the first message is sent to the first receiving mobile phone: a phone number corresponding to the first receiving mobile phone is on a list of subscribing addresses which is stored on a server of the PSMS; and a plurality of messages sent by the sending mobile phone, to the first receiving mobile phone, via the PSMS, are queued on a server of the PSMS.
 3. The method of claim 1, wherein at the time the first message is sent to the first receiving mobile phone: no phone number corresponding to the first receiving phone is associated with a subscriber of the PSMS.
 4. The method of claim 1, wherein the messaging client provides an option to modify the third message, wherein the option is not available to modify the first message.
 5. The method of claim 1, wherein the response originates from a server which is located outside of a cellular core network, wherein the sending mobile phone is authenticated to the PSMS via SMS and the sending mobile phone is authenticated to the PSMS via a hardware identifier of the sending mobile phone.
 6. The method of claim 1, wherein the response is correlated with a status of the receiving mobile phone when the receiving mobile phone is associated with a subscriber of the PSMS.
 7. The method of claim 1, wherein the sending mobile phone is authenticated to the PSMS via SMS and the sending mobile phone is authenticated to the PSMS via a randomly generated authentication identifier.
 8. The method of claim 1, wherein the sending mobile phone simultaneously displays a left arrow and a right arrow in an interface which displays message content corresponding to a plurality of messages exchanged between the sending mobile phone and the third receiving mobile phone.
 9. The method of claim 1, wherein the first receiving mobile phone, the second receiving mobile phone and the third receiving mobile phone are different mobile phones.
 10. The method of claim 1, wherein the first receiving mobile phone, the second receiving mobile phone and the third receiving mobile phone are the same mobile phone.
 11. The method of claim 1, wherein: between steps (d) and (f) of the third iteration, an attachment option is presented by a messaging application; and during the entirety of the first iteration, the attachment option is not presented by the messaging application.
 12. The method of claim 11, wherein the attachment option is a voice message attachment option.
 13. A method comprising: (a) retrieving a destination address of a message from the message, wherein the destination address is a phone number of a receiving mobile phone; (b) receiving information, by a server of a packet switched message service (PSMS), wherein the information indicates the phone number of the receiving mobile phone; (c) sending, by the server of the PSMS, a response to the receiving of the information; (d) based at least in part on the response, automatically selecting, by a sending mobile phone, a bearer for the message, wherein the bearer is selected from a group including: a short message service (SMS) bearer; a packet-switched message bearer supported by a cellular connection between the sending mobile phone and a cellular base station; and a packet-switched message bearer supported by a wireless local area network (WLAN) connection between the sending mobile phone and a WLAN base station; (e) after step (c), formatting, by the sending mobile phone, the message for transmission via the selected bearer; and (f) after step (d), transmitting, using the selected bearer, the message to a receiving mobile phone; and (g) performing steps (a)-(f) for at least first, second and third iterations, wherein: during the first iteration, a first message is sent to a first receiving mobile phone using the SMS bearer; during the second iteration, a second message is sent to a second receiving mobile phone using the packet-switched message bearer supported by the cellular connection; and during the third iteration, a third message is sent to a third receiving mobile phone using the packet-switched message bearer supported by the WLAN connection; wherein a server of the PSMS receives content of the third message and sends the content to the third receiving mobile phone; wherein the PSMS is a service for sending and receiving packet switched messages other than SMS, enhanced message service (EMS) and multimedia message service (MMS) messages; wherein a same messaging application on the sending mobile phone performs at least steps (a), (b), (d) and (e) for each of the first, second and third iterations.
 14. The method of claim 13, further comprising: receiving an indication that a subscriber of the PSMS has become associated with a mobile phone which has capabilities different than those reflected in a subscriber data store; and updating the subscriber data store to reflect a change of mobile phone.
 15. The method of claim 14, wherein the updating the subscriber data store to reflect a change of mobile phone includes updating the subscriber data store to reflect that the subscriber is no longer associated with a mobile phone which is identified by the subscriber data store.
 16. The method of claim 15, wherein the subscriber data store is located outside of a cellular core network.
 17. The method of claim 13, wherein the same messaging application displays at least one of a right arrow and a left arrow simultaneously with the third message.
 18. A method performed by a sending mobile device that transmits short message service (SMS) messages and packet switched messages, the method comprising: sending first information representing a first phone number of a first receiving mobile device to a server; receiving a first response to the sending of the first information; based at least in part on the first response, automatically selecting an SMS bearer for a first message; formatting the first message for transmission via the SMS bearer; and transmitting the first message using the SMS bearer; retrieving a destination address of a second message, wherein the destination address of the second message represents at least a second phone number of a second receiving mobile device; sending the destination address of the second message to the server; receiving a second response to the sending of the destination address of the second message; based at least in part on the second response, automatically selecting a first packet-switched message bearer for the second message; formatting the second message for transmission via a cellular connection between the sending mobile device and a cellular base station; transmitting, via the cellular connection, the second message to the second receiving mobile device; retrieving a destination address of a third message, wherein the destination address of the third message represents at least a third phone number of a third receiving mobile device; sending the destination address of the third message to the server; receiving a third response to the sending of the destination address of the third message, wherein the third response indicates that a plurality of receiving mobile devices corresponding to the destination address of the third message are associated with a packet switched message service (PSMS); based at least in part on the third response, automatically selecting a second packet-switched bearer for the third message; formatting the third message for transmission via the second packet-switched bearer and a wireless local area network (WLAN) connection between the sending mobile device and a WLAN base station; and transmitting, using the second packet-switched bearer and the WLAN connection, the third message to the plurality of receiving mobile devices; wherein the PSMS is a service for sending and receiving packet switched messages other than SMS, enhanced message service (EMS) and multimedia message service (MMS) messages.
 19. The method of claim 18, wherein each one of the first response, second response and third response originates from a server which is located outside of a cellular network.
 20. The method of claim 18, wherein the first phone number is not listed as being associated with a subscriber of the PSMS at the time the first response is received.
 21. The method of claim 18, wherein the second receiving mobile device is authenticated to the PSMS, via SMS protocol, prior to the transmitting of the third message, wherein the second message is routed via the PSMS; wherein the first receiving mobile device is not authenticated to the PSMS, via SMS protocol, prior to the transmitting of the first message.
 22. The method of claim 18, wherein the second receiving mobile device is not connected to the PSMS during the entire time between which the destination address of the second message is sent and the second response is received, wherein the second message is routed via the PSMS.
 23. The method of claim 19, further comprising: sending a group based message to the third receiving mobile device and to a fourth receiving mobile device, via the PSMS and the WLAN, wherein the group based message comprises video information.
 24. The method of claim 18, wherein the destination address of the second message is a sequence of decimal numbers and the destination address of the third message is a sequence of decimal numbers.
 25. The method of claim 18, wherein the sending mobile device simultaneously displays a left arrow and a right arrow in an interface which displays message content corresponding to a plurality of messages exchanged between the sending mobile device and a receiving mobile device associated with the PSMS.
 26. A method performed by a sending mobile device that transmits short message service (SMS) messages and packet switched messages, the method comprising: sending first information representing a first phone number of a first receiving mobile device to a server; receiving a first response to the sending of the first information; based at least in part on the first response, automatically selecting an SMS bearer for a first message; formatting the first message for transmission via the SMS bearer; and transmitting the first message using the SMS bearer; retrieving a destination address of a second message, wherein the destination address of the second message represents at least a second phone number of a second receiving mobile device; sending the destination address of the second message to the server; receiving a second response to the sending of the destination address of the second message indicating that the second message is not to be sent to at least one of a first plurality of receiving mobile devices corresponding to the destination address of the second message via a packet switched message service (PSMS); based at least in part on the second response, automatically selecting the SMS bearer for sending the second message to the at least one of the first plurality of receiving mobile devices; formatting the second message for transmission via a cellular connection between the sending mobile device and a cellular base station; transmitting, via the cellular connection, the second message to the at least one of the first plurality of receiving devices; retrieving a destination address of a third message, wherein the destination address of the third message represents at least a third phone number of a third receiving mobile device; sending the destination address of the third message to the server; receiving a third response to the sending of the destination address of the third message, wherein the third response indicates that a second plurality of receiving mobile devices corresponding to the destination address of the third message are associated with the PSMS; based at least in part on the third response, automatically selecting a packet-switched bearer for the third message; formatting the third message for transmission via the packet-switched bearer and a wireless local area network (WLAN) connection between the sending mobile device and a WLAN base station; and transmitting, using the packet-switched bearer and the WLAN connection, the third message to the second plurality of receiving mobile devices.
 27. The method of claim 26, wherein the sending mobile phone simultaneously displays a left arrow and a right arrow in an interface which displays message content corresponding to a plurality of messages exchanged between the sending mobile device and a receiving mobile device associated with the PSMS. 